草庐IT

java - 代码异味部分模拟?

全部标签

ruby - 在 ruby​​ 中对数组进行排序的最简单代码?

我通常会做类似的事情array.sort{|a,b|a.somethingb.something}我应该如何干燥它? 最佳答案 使用排序方式array.sort_by{|e|e.something或sort_lambda=lambda{|e|e.something}array.sort_by(&sort_lambda)使用后者,您可以在其他sort_by语句中重用sort_lambda 关于ruby-在ruby​​中对数组进行排序的最简单代码?,我们在StackOverflow上找到一个

ruby - 如果这段代码不是在开玩笑,那它究竟是如何工作的呢?

classTreedefinitialize*d;@d,=d;enddefto_s;@l||@r?",>":@d;enddeftotal;(@d.is_a?(Numeric)?@d:0)+(@l?@l.total:0)+(@r?@r.total:0);enddefinsertdaliasginstance_variable_getp=lambda{|s,o|d.to_s.send(o,@d.to_s)&&(g(s).nil??instance_variable_set(s,Tree.new(d)):g(s).insert(d))}@d?p[:@l,:]:@d=dendend有人愿意尝试

Vim 中的 Ruby 代码自动缩进

我已经将一个Ruby示例复制到Vim中,但事实证明这弄乱了缩进。我试图让Vim应用Ruby特定的缩进。为此,我取消了全局vimrc文件中以下行的注释:ifhas("autocmd")filetypepluginindentonendif然后在Vim中按下gg=G。现在它改变了一些缩进,但它仍然有一些错误:类定义不缩进。评论不会缩进并保留在行首。 最佳答案 在从外部源粘贴之前,使用这个命令:设置粘贴然后进入插入模式粘贴。 关于Vim中的Ruby代码自动缩进,我们在StackOverflow

ruby - 简化的 Ruby 代码部署

这是我想象中的开发和部署过程:创建项目目录my_project。在其中安装所需的Ruby版本。安装所需的gem。写一些代码。使用fpm打包整个东西。将debian软件包运送到生产箱并安装。我使用RVM和Bundler来解决一些痛点,但RVM不关心创建可重定位的Ruby安装,所以你不能将~/.rvm/rubies移动到项目目录中,并且期待一切顺利。您必须重写各种硬编码的#!行,在某些情况下,您必须将.so文件移动到lib目录中。我通过搜索互联网拼凑了一组脚本,这些脚本一起完成了我想要的,但整个事情感觉像是一个巨大的黑客攻击。我不小心发现了https://github.com/ot/bpt

ruby - 如何在中间人的部分中渲染部分

我有一些Haml部分,其中许多包含样板文件.容器。排.col-lg-12当我尝试抽象出ala=partial"site_section"时,我得到:syntaxerror,unexpectedkeyword_end,expectingend-of-inputend;end;end;end我正在使用ruby​​2.2.2。如何在Middleman的Haml部分中渲染Haml部分?谢谢更新这显然是处理我的部分(上图)的某种特殊情况。我还有其他局部渲染效果很好。更新关于这个thisrepo,布局实际上是:_site_section:.容器。排.col-lg-12_nested_section

ruby-on-rails - 如何使用 rspec 模拟/伪造文件的存在?

这是我的:it"shouldbeabletogetavaliddirectorypath"do@asset.some_file_path.should=="/something/test.jpg"end问题是如果不存在文件,some_file_path返回“/not_here_yet.jpg”。defsome_file_pathifFile.exists(self.my_image_path)returnmy_image_pathelsereturn"/not_here_yet.jpgendend我真的不想在我的测试中创建一个新文件。我有办法伪造该文件的存在吗?我在想一些事情:it"s

ruby - rspec模拟与其他模拟框架的优缺点是什么?

我看过很多过时的播客,其中提到摩卡是我想安装的一个宝石,因为它确实比rspec更好模仿。我有一种感觉,rspec开发人员已经意识到这一点,并从那时起改进了他们的模拟。但是,在默认的spec_helper.rb文件中,我看到三个模拟框架的一些注释掉的代码存根mochaflexmockrr向任何能给我一个像样答案的人投赞成票,就这些框架中至少一个的利弊与rspec自己的模仿框架进行比较。如果你能给我一个关于这三个问题的详细说明,我会接受你的回答。 最佳答案 真的,这只是口味的问题。看一看语法,看看什么最适合你。当然,使用rspec的内置

ruby-on-rails - ruby 中的死代码检测

有谁知道可以检测哪些代码行已被执行或未执行的具有生产值(value)的商业软件包或OSS?我们正在寻找一些工具来帮助我们检测生产环境中的死代码,运行RubyOnRails1.8.7-丹尼尔 最佳答案 在Ruby1.9.2中,您可以简单地测量覆盖率而不会对性能产生重大影响。然而,在1.8.7中,这会大大降低速度。相反,您可以使用perftools.rb了解所用内容的概览。(使用CPUPROFILE_METHODS=1选项)。据我所知,它实际上对应用程序性能没有影响,它可以让您看到调用了哪些方法,尽管您不会获得有关不同代码路径(ifs和

ruby - 在 ruby​​ 中模拟 3rd 方对象的最佳方法是什么?

我正在使用twittergem编写一个测试应用程序,我想编写一个集成测试,但我不知道如何模拟Twitter命名空间中的对象。这是我要测试的功能:defbuild_twitter(omniauth)Twitter.configuredo|config|config.consumer_key=TWITTER_KEYconfig.consumer_secret=TWITTER_SECRETconfig.oauth_token=omniauth['credentials']['token']config.oauth_token_secret=omniauth['credentials']['s

ruby - 不同 Ruby 项目之间代码重用的最佳实践是什么?

伙计们!我是一名具有Java背景的软件开发人员,我正在使用Ruby网络框架(Padrino/Sinatra)开始一些项目。在我的java项目中,我通常有一些“公共(public)”项目,其类在多个项目中使用。例如,我有一个中央身份验证服务和一个存储用户配置文件的共享数据库。我所有使用此服务的项目都共享一些映射到用户配置文件数据库的模型。那么,尽管有框架、orm库等,跨多个Ruby项目共享代码的最佳方式是什么? 最佳答案 除此之外,ruby'sgems是重用代码公共(public)部分的最佳方式之一。Gem具有名称、版本号和描述,因此